From 865aa5dbe739a36af7b543fbe332cb94fc57343b Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 24 Apr 2013 11:54:00 +0100 Subject: [PATCH] arm: add build time asserts for various virtual address aligment constraints Signed-off-by: Ian Campbell Acked-by: Tim Deegan --- xen/arch/arm/mm.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 3cb852b457..656aa82b4b 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -74,6 +74,17 @@ unsigned long total_pages; extern char __init_begin[], __init_end[]; +/* Checking VA memory layout alignment. */ +static inline void check_memory_layout_alignment_constraints(void) { + /* 2MB aligned regions */ + BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK); + BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK); + BUILD_BUG_ON(BOOT_MISC_VIRT_START & ~SECOND_MASK); + /* 1GB aligned regions */ + BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK); + BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK); +} + void dump_pt_walk(lpae_t *first, paddr_t addr) { lpae_t *second = NULL, *third = NULL; -- 2.30.2